DirectX 8 nutzen/unterstützen haben die
rechts zu sehende Architektur. Bei höheren
Versionen der Shader als 1.3/1.4 sind noch
Änderungen erfolgt, aber das Grundprinzip
bleibt dieses.
Nun zum Aufbau:
Die Vertex ALU (arithmetic logic unit)
ist die Einheit, die Operationen auf den
Daten ausführt, also der Vertexprozessor.
Dieser ALU stehen mehrere Register für
Daten zur Verfügung:
-
v0
– v15 für den Input, hier kommen
die zu verarbeitenden Vertices hinein,
- r0 – r11 als Zwischenspeicher während der Verarbeitung,
-
c0
– c95 für benutzerdefinierte Konstanten, die zur Berechnung benötigt werden,
-
oDn,
oFog, oPos, oPts, oDn für die Ausgabe der Daten mit den notwendigen
Informationen zur Weiterverarbeitung der Vertices,
- und seit der Version DX8.1 ein Adressregister a0 für schnelleres lookup während der
Verarbeitung.